home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Champak 138
/
Volume 138 Aug 19 2011 - Damaged.iso
/
Games
/
shadez.swf
/
scripts
/
Local
/
Audio
/
CAudio.as
next >
Wrap
Text File
|
2011-08-19
|
5KB
|
177 lines
package Local.Audio
{
import Local.CGlobal;
import flash.events.Event;
import flash.events.EventDispatcher;
import flash.geom.Point;
import flash.geom.Rectangle;
import flash.media.SoundTransform;
public class CAudio extends EventDispatcher
{
private var mSampleLibrary:Object;
private var mSoundChannels:Object;
public var mScopeSize:Number;
public var mScreenArea:Rectangle;
public var mScreenCentre:Point;
private var mActiveSounds:Object;
public function CAudio()
{
if(true)
{
super();
if(true)
{
mSampleLibrary = new Object();
mSoundChannels = new Object();
}
mActiveSounds = new Object();
}
}
public static function PlayGlobalSound(param1:Class, param2:Number = 1, param3:Number = 0, param4:int = 0, param5:int = 0) : void
{
if(true)
{
if(!CGlobal.mSoundActive)
{
if(true)
{
return;
}
}
new param1().play(param4,param5,new SoundTransform(param2,param3));
}
}
public function AddSound(param1:String, param2:Class, param3:int = 0, param4:int = 0, param5:int = 1) : void
{
if(mSampleLibrary[param1])
{
return;
}
mSampleLibrary[param1] = new CSample(param1,param2,param3,param4,param5);
}
public function Pause() : void
{
var _loc1_:CSoundChannel = null;
for each(_loc1_ in mSoundChannels)
{
_loc1_.Pause();
}
}
private function e_SOUND_DISPOSING(param1:Event = null) : void
{
var _loc2_:CSound = null;
_loc2_ = CSound(param1.currentTarget);
delete mActiveSounds[_loc2_.mID];
}
public function PlaySound(param1:String, param2:*) : String
{
var _loc3_:CSound = null;
var _loc4_:CSoundChannel = null;
_loc3_ = new CSound(this,mSampleLibrary[param1],!!param2 ? param2 : {
"nVolume":1,
"nPan":0
});
_loc4_ = !!mSoundChannels[_loc3_.mSampleID] ? mSoundChannels[_loc3_.mSampleID] : (mSoundChannels[_loc3_.mSampleID] = new CSoundChannel());
mActiveSounds[_loc3_.mID] = _loc3_;
_loc4_.AddSound(_loc3_);
if(!_loc4_.hasEventListener(CSoundChannel.DISPOSING))
{
_loc4_.addEventListener(CSoundChannel.DISPOSING,e_SOUNDCHANNEL_DISPOSING);
}
_loc3_.addEventListener(CSound.DISPOSING,e_SOUND_DISPOSING);
return _loc3_.mID;
}
public function StopSound(param1:String) : void
{
if(mActiveSounds[param1])
{
mActiveSounds[param1].mChannel.RemoveSound(mActiveSounds[param1]);
delete mActiveSounds[param1];
}
}
public function StopAllSounds() : void
{
var _loc1_:CSoundChannel = null;
for each(_loc1_ in mSoundChannels)
{
_loc1_.Dispose();
}
}
public function Update(param1:Rectangle) : void
{
var _loc2_:CSoundChannel = null;
mScreenArea = param1;
mScreenCentre = new Point(mScreenArea.x + mScreenArea.width / 2,mScreenArea.y + mScreenArea.height / 2);
mScopeSize = 1000;
for each(_loc2_ in mSoundChannels)
{
if(true)
{
_loc2_.Update();
}
}
}
public function SoundExists(param1:String) : Boolean
{
§§push(mSampleLibrary[param1] == null);
if(true)
{
§§push(!§§pop());
}
return §§pop();
}
public function Resume() : void
{
var _loc1_:CSoundChannel = null;
for each(_loc1_ in mSoundChannels)
{
_loc1_.Resume();
}
}
private function e_SOUNDCHANNEL_DISPOSING(param1:Event = null) : void
{
var _loc2_:CSoundChannel = null;
var _loc3_:CSound = null;
_loc2_ = CSoundChannel(param1.currentTarget);
for each(_loc3_ in _loc2_.mSounds)
{
delete mActiveSounds[_loc3_.mID];
}
if(true)
{
delete mSoundChannels[_loc2_.mSampleID];
}
}
public function GetSound(param1:String) : CSound
{
return mActiveSounds[param1];
}
public function Dispose() : void
{
StopAllSounds();
}
}
}